Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / ci / github-install-macos-x64-python-deps.sh

Displaying Raw • Download


scripts/ci/github-install-macos-x64-python-deps.sh 60478d64e1afa6c3382c7354f9433b61a16ed3e6 (60478d64) Text, 4.05 KB

T8b949e#!/usr/bin/env bash
T8b949e# Install locked Python deps for the darwin-x64 cx_Freeze slice on Apple Silicon CI.
T8b949e# The arm64 slice uses uv sync into .venv; this script mirrors that with .venv-x64 so
T8b949e# NumPy/LXST native wheels match the lockfile instead of unpinned pip -e . resolution.
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Tffa657cd Ta5d6ff"Te6edf3$ROOTTa5d6ff"

Te6edf3PY_X64Tff7b72=Ta5d6ff"Tffd700${Te6edf3PY_X64Tb4b4b4:Tb4b4b4?PY_X64 must point at an x86_64 Python 3.14 interpreterTffd700}Ta5d6ff"

Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Tff7b72$(uname -sTff7b72)Ta5d6ff" !Tff7b72= Ta5d6ff"Darwin" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"github-install-macos-x64-python-deps: skipping (not macOS)" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff0
Tff7b72fi

Tffa657export Te6edf3UV_PROJECT_ENVIRONMENTTff7b72=Ta5d6ff"Tffd700${Te6edf3ROOTTffd700}Ta5d6ff/.venv-x64Ta5d6ff"
Tffa657export Te6edf3UV_PYTHON_INSTALL_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3ROOTTffd700}Ta5d6ff/.cache/uv/pythonTa5d6ff"

uv lock --check

Tff7b72if Tff7b72[Tff7b72[ -x /usr/local/bin/brew Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
arch -x86_64 /usr/local/bin/brew install openssl@3
Tff7b72fi

Te6edf3_codec2Tff7b72=Ta5d6ff"Tff7b72$(arch -x86_64 /usr/local/bin/brew --prefix codec2 T79c0ff2>/dev/null Tff7b72|| Tffa657trueTff7b72)Ta5d6ff"
Tff7b72if Tff7b72[Tff7b72[ -n Ta5d6ff"Te6edf3$_codec2Ta5d6ff" Tff7b72&& -d Ta5d6ff"Tffd700${Te6edf3_codec2Tffd700}Ta5d6ff/includeTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657export Te6edf3LDFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3LDFLAGSTff7b72:-Tffd700}Ta5d6ff -LTffd700${Te6edf3_codec2Tffd700}Ta5d6ff/lib -arch x86_64Ta5d6ff"
Tffa657export Te6edf3CPPFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3CPPFLAGSTff7b72:-Tffd700}Ta5d6ff -ITffd700${Te6edf3_codec2Tffd700}Ta5d6ff/include -arch x86_64Ta5d6ff"
Tffa657export Te6edf3PKG_CONFIG_PATHTff7b72=Ta5d6ff"Tffd700${Te6edf3_codec2Tffd700}Ta5d6ff/lib/pkgconfig:Tffd700${Te6edf3PKG_CONFIG_PATHTff7b72:-Tffd700}Ta5d6ff"
Tff7b72fi

Tff7b72if arch -x86_64 /usr/local/bin/brew --prefix openssl@3 >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Te6edf3_opensslTff7b72=Ta5d6ff"Tff7b72$(arch -x86_64 /usr/local/bin/brew --prefix openssl@3Tff7b72)Ta5d6ff"
Tffa657export Te6edf3LDFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3LDFLAGSTff7b72:-Tffd700}Ta5d6ff -LTffd700${Te6edf3_opensslTffd700}Ta5d6ff/lib -arch x86_64Ta5d6ff"
Tffa657export Te6edf3CPPFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3CPPFLAGSTff7b72:-Tffd700}Ta5d6ff -ITffd700${Te6edf3_opensslTffd700}Ta5d6ff/include -arch x86_64Ta5d6ff"
Tffa657export Te6edf3PKG_CONFIG_PATHTff7b72=Ta5d6ff"Tffd700${Te6edf3_opensslTffd700}Ta5d6ff/lib/pkgconfig:Tffd700${Te6edf3PKG_CONFIG_PATHTff7b72:-Tffd700}Ta5d6ff"
Tffa657export Te6edf3OPENSSL_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3_opensslTffd700}Ta5d6ff"
Tffa657export Te6edf3OPENSSL_LIB_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3_opensslTffd700}Ta5d6ff/libTa5d6ff"
Tffa657export Te6edf3OPENSSL_INCLUDE_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3_opensslTffd700}Ta5d6ff/includeTa5d6ff"
Tff7b72fi

Tffa657export Te6edf3ARCHFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3ARCHFLAGSTff7b72:-Tb4b4b4-arch x86_64Tffd700}Ta5d6ff"
Tffa657export Te6edf3CCTff7b72=Ta5d6ff"Tffd700${Te6edf3CCTff7b72:-Te6edf3clangTb4b4b4 -arch x86_64Tffd700}Ta5d6ff"
Tffa657export Te6edf3CXXTff7b72=Ta5d6ff"Tffd700${Te6edf3CXXTff7b72:-Te6edf3clangTb4b4b4++ -arch x86_64Tffd700}Ta5d6ff"
Tffa657export Te6edf3CFLAGSTff7b72=Ta5d6ff"Tffd700${Te6edf3CFLAGSTff7b72:-Tb4b4b4-arch x86_64Tffd700}Ta5d6ff"

Te6edf3_PYTff7b72=Ta5d6ff"Tffd700${Te6edf3UV_PROJECT_ENVIRONMENTTffd700}Ta5d6ff/bin/pythonTa5d6ff"

_lock_versionTff7b72(Tff7b72) Tff7b72{
awk -v Te6edf3pkgTff7b72=Ta5d6ff"Te6edf3$1Ta5d6ff" Ta5d6ff'
$0 == "name = \"" pkg "\"" { found=1; next }
found && /^version = / {
sub(/^version = "/, "", $0)
sub(/"$/, "", $0)
print $0
exit
}
' uv.lock
Tff7b72}

Te6edf3_NUMPY_VERSIONTff7b72=Ta5d6ff"Tff7b72$(_lock_version numpyTff7b72)Ta5d6ff"
Te6edf3_PYCODEC2_VERSIONTff7b72=Ta5d6ff"Tff7b72$(_lock_version pycodec2Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[Tff7b72[ -z Ta5d6ff"Te6edf3$_NUMPY_VERSIONTa5d6ff" Tff7b72|| -z Ta5d6ff"Te6edf3$_PYCODEC2_VERSIONTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"github-install-macos-x64-python-deps: failed to read numpy/pycodec2 versions from uv.lock" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

T8b949e# Host is arm64; without --python-platform uv still resolves macOS wheels for aarch64.
T8b949e# pycodec2 has no cp314 macOS x86_64 wheel, so uv would build it from sdist and pull
T8b949e# numpy into an isolated cross build (meson: "Can not run test applications").
uv sync --frozen --group dev Tffea00\
--python Ta5d6ff"Te6edf3$PY_X64Ta5d6ff" Tffea00\
--python-platform x86_64-apple-darwin Tffea00\
--no-install-package pycodec2

uv pip install --python Ta5d6ff"Te6edf3$_PYTa5d6ff" Tffea00\
--python-platform x86_64-apple-darwin Tffea00\
Ta5d6ff"Ta5d6ffnumpy==Tffd700${Te6edf3_NUMPY_VERSIONTffd700}Ta5d6ff"

T8b949e# Host uv is arm64 (cannot run under arch -x86_64). numpy is a wheel; pycodec2 is
T8b949e# built from sdist with --no-build-isolation so the x86_64 venv numpy is reused.
uv pip install --python Ta5d6ff"Te6edf3$_PYTa5d6ff" Tffea00\
--python-platform x86_64-apple-darwin Tffea00\
--no-build-isolation Tffea00\
Ta5d6ff"Ta5d6ffpycodec2==Tffd700${Te6edf3_PYCODEC2_VERSIONTffd700}Ta5d6ff"

Tff7b72if Tff7b72[Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3_codec2Tff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Te6edf3_pycodec2_dirTff7b72=Ta5d6ff"Tff7b72$(arch -x86_64 Ta5d6ff"Te6edf3$_PYTa5d6ff" -c Ta5d6ff'import pathlib, pycodec2; print(pathlib.Path(pycodec2.__file__).resolve().parent)'Tff7b72)Ta5d6ff"
Tff7b72for _lib Tff7b72in Ta5d6ff"Tffd700${Te6edf3_codec2Tffd700}Ta5d6ff/lib/libcodec2.dylibTa5d6ff" Ta5d6ff"Tffd700${Te6edf3_codec2Tffd700}Ta5d6ff/lib/libcodec2.soTa5d6ff"Tb4b4b4; Tff7b72do
Tff7b72if Tff7b72[Tff7b72[ -f Ta5d6ff"Te6edf3$_libTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
cp -f Ta5d6ff"Te6edf3$_libTa5d6ff" Ta5d6ff"Tffd700${Te6edf3_pycodec2_dirTffd700}Ta5d6ff/libcodec2.soTa5d6ff"
Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Te6edf3$_libTa5d6ff" Tff7b72=Tff7b72= *.dylib Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
cp -f Ta5d6ff"Te6edf3$_libTa5d6ff" Ta5d6ff"Tffd700${Te6edf3_pycodec2_dirTffd700}Ta5d6ff/libcodec2.dylibTa5d6ff"
Tff7b72fi
Tff7b72break
Tff7b72fi
Tff7b72done
Tff7b72fi

arch -x86_64 Ta5d6ff"Te6edf3$_PYTa5d6ff" scripts/patch_lxst_pyogg_ogg_ctypes.py

arch -x86_64 Ta5d6ff"Te6edf3$_PYTa5d6ff" -c Ta5d6ff"
import numpy
import pycodec2
from numpy._core._multiarray_umath import _add_newdoc_ufunc
print('x64 venv numpy', numpy.__version__, 'pycodec2', pycodec2.__version__, 'ok')
"

Tff7b72if Tff7b72[Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITHUB_ENVTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffPYTHON_CMD_X64=Tffd700${Te6edf3UV_PROJECT_ENVIRONMENTTffd700}Ta5d6ff/bin/pythonTa5d6ff" >>Ta5d6ff"Te6edf3$GITHUB_ENVTa5d6ff"
Tff7b72fi


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────